package pri.zey.custom.AFMananger;/**
 * Created by Administrator on 2016/4/14 0014.
 */

import android.os.Handler;

/**
 * >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>接口描述
 * 抽象基类 主要：完成control层的繁琐逻辑运算
 * >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>属性描述
 * HandlerBase 内部传输者
 * >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>方法描述
 * 1.增删改查
 * 2.获取顶部对象
 * 3.内部传输msg
 */
public abstract class AbstractBase<T extends InterfaceName>{

    protected Handler HandlerBase;

    abstract void add(T t);
    abstract void del(String tag);
    abstract void add(String tag, T t);
    abstract void del(T t);
    abstract void del(int index);
    abstract void del(String tag, T t, int index);
    abstract void delAll();
    abstract void update(T old, T news);
    abstract void update(int index, T news);
    abstract void update(int index, T old, T news);
    abstract boolean isNull(T t);
    abstract boolean isNull(String tag);
    abstract boolean isNull(String tag, T t);
    abstract int getIndex(T t);
    abstract int getIndex(String tag);
    abstract int getIndex(String tag, T t);
    abstract T getT(T t);
    abstract T getT(String tag);
    abstract T getT(String tag, T t);
    abstract T getTop();
    abstract void SMsg(String tag, InterfaceHandler IHandler);
    abstract void sendMsg(Handler msg, InterfaceHandler IHandler);
    abstract void sendMsg(String tag, Handler msg, InterfaceHandler IHandler);
    abstract void sendMsg(T t, Handler msg, InterfaceHandler IHandler);
    abstract void sendMsg(String tag,T t, Handler ms, InterfaceHandler IHandler);


//    protected SoftReference<T> softRefer//ce;
//    protected SoftReference<T> traversal(//t){
//        return traversal(t.getName()//t);
//// //
//
//    protected boolean CommitState(T t, InterfaceCommitState commitSt//e){
//        return CommitState(t.getName(), t, commitSt//e);
//// //
//
//    protected SoftReference<T> traversal(String tag, //t){
//// //
//
//    protected boolean CommitState(String tag, T t, InterfaceCommitState commitSt//e){
//    }
}